package com.atguigu.gulimall.coupon;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * 1 引入配置中心依赖，放到common中
 * <dependency>
 *      <groupId>com.alibaba.cloud</groupId>
 *      <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
 *  </dependency>
 *
 * 2 在coupons项目中创建/src/main/resources/bootstrap.properties ，这个文件是
 * springboot里规定的，他优先级别application.properties高
 * # 改名字，对应nacos里的配置文件名
 * spring.application.name=gulimall-coupon
 * spring.cloud.nacos.config.server-addr=192.168.11.1:8848
 * 3 把要被nacos管理的配置文件准备好
 * 4 在nacos中添加一个配置把 3 的内容放进去
 * 5 在controller 中添加@RefreshScope//配置刷新
 * 6 nacos的配置内容优先于项目本地的配置内容。
 */

/**
 * 在nacos浏览器中还可以配置：
 *
 * 命名空间：用作配置隔离。（一般每个微服务一个命名空间）
 *
 * 默认public。默认新增的配置都在public空间下
 *
 * 	开发、测试、开发可以用命名空间分割。properties每个空间有一份。
 *
 * 	在bootstrap.properties里配置
 *
 * spring.cloud.nacos.config.namespace=b176a68a-6800-4648-833b-be10be8bab00  	# 可以选择对应的命名空间 ,即写上对应环境的命名空间ID
 *
 * 也可以为每个微服务配置一个命名空间，微服务互相隔离
 *
 * 配置集：一组相关或不相关配置项的集合。
 *
 * 配置集ID：类似于配置文件名，即Data ID
 *
 * 配置分组：默认所有的配置集都属于DEFAULT_GROUP。自己可以创建分组，比如双十一，618，双十二
 * spring.cloud.nacos.config.group=1111
 *
 * 最终方案：每个微服务创建自己的命名空间，然后使用配置分组区分环境（dev/test/prod）
 */
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallCouponApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallCouponApplication.class, args);
    }

}
